package com.arpa.wms.domain.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.hibernate.validator.constraints.Length;

/**
 * <p>
 * 库区
 * </p>
 *
 * @author LEO
 * @since 2020-08-03
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@ApiModel(value="WarehouseSpace对象", description="库区")
@TableName("wms_warehouse_space")
public class WarehouseSpace extends BasicEntity {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "数据标识")
    @TableField("code")
    private String code;

    @ApiModelProperty(value = "所属机构")
    @TableField("group_code")
    private String groupCode;

    @ApiModelProperty(value = "库区名称")
    @TableField("name")
    @Length(max = 100, message = "库区名称长度不能大于100个字符", groups = {Save.class, Update.class})
    private String name;

    @ApiModelProperty(value = "库区编码")
    @TableField("serial_number")
    @Length(max = 100, message = "库区编码长度不能大于100个字符", groups = {Save.class, Update.class})
    private String serialNumber;

    @ApiModelProperty(value = "所属仓库")
    @TableField("warehouse_code")
    private String warehouseCode;

    @ApiModelProperty(value = "温层")
    @TableField("temperature")
    private String temperature;

    @ApiModelProperty(value = "额定最低温度")
    @TableField("rated_min_temperature")
    private Double ratedMinTemperature;

    @ApiModelProperty(value = "额定最高温度")
    @TableField("rated_max_temperature")
    private Double ratedMaxTemperature;

    @ApiModelProperty(value = "备注")
    @TableField("remarks")
    @Length(max = 100, message = "备注长度不能大于100个字符", groups = {Save.class, Update.class})
    private String remarks;

    @ApiModelProperty(value = "状态")
    @TableField("status")
    private String status;

    @ApiModelProperty(value = "是否可删除操作 0-不可删除 1-可删除")
    @TableField("delete_flag")
    private String deleteFlag;


    @ApiModelProperty(value = "是否临时库区;  0:否；  1：是；")
    @TableField("is_temp_space")
    private Integer tempSpace;

    public interface Save {

    }

    public interface Update {

    }
}
